﻿using System;
using System.Collections.Generic;
using System.Text;
using Sinacor.Infra.UI.Common;
using Sinacor.UI.Bovespa.Ordens.Model.Enum;

namespace  Sinacor.UI.Bovespa.Ordens.Model 
{
    /// <summary>
    /// Model PreBoleto
    /// </summary>    
    [Serializable]
    public class PreBoleto : BaseModel
    {

         #region Construtor
        /// <summary>
        /// Construtor PreBoleto
        /// </summary>
        public PreBoleto()
        {

        }
        #endregion

        private System.Int32 NumeroPreBoletoField;
        /// <summary>
        /// Numero PreBoleto
        /// </summary>
        public System.Int32 NumeroPreBoleto
        {
            get { return NumeroPreBoletoField; }
            set { NumeroPreBoletoField = value; this.OnPropertyChanged("NumeroPreBoletoField"); }
        }

        private System.Int32 NumeroOrdemField;
        /// <summary>
        /// Numero da Ordem
        /// </summary>
        public System.Int32 NumeroOrdem
        {
            get { return NumeroOrdemField; }
            set { NumeroOrdemField = value; this.OnPropertyChanged("NumeroOrdemField"); }
        }


        private TipoNaturezaOperacao TipoNaturezaOperacaoField;
        /// <summary>
        /// Tipo Natureza da Operação
        /// </summary>
        public TipoNaturezaOperacao TipoNaturezaOperacao
        {
            get { return TipoNaturezaOperacaoField; }
            set { TipoNaturezaOperacaoField = value; this.OnPropertyChanged("TipoNaturezaOperacaoField"); }
        }

        private System.DateTime DataOrdemField;
        /// <summary>
        /// Data Ordem
        /// </summary>
        public System.DateTime DataOrdem
        {
            get { return DataOrdemField; }
            set { DataOrdemField = value; this.OnPropertyChanged("DataOrdemField"); }
        }

        private System.DateTime DataPregaoField;
        /// <summary>
        /// Data Pregao
        /// </summary>
        public System.DateTime DataPregao
        {
            get { return DataPregaoField; }
            set { DataPregaoField = value; this.OnPropertyChanged("DataPregaoField"); }
        }


        private System.Decimal QuantidadeNegocioField;
        /// <summary>
        /// Quantidade do Negocio
        /// </summary>
        public System.Decimal QuantidadeNegocio
        {
            get { return QuantidadeNegocioField; }
            set { QuantidadeNegocioField = value; this.OnPropertyChanged("QuantidadeNegocioField"); }
        }

        private System.Decimal PrecoField;
        /// <summary>
        /// Preço
        /// </summary>
        public System.Decimal Preco
        {
            get { return PrecoField; }
            set { PrecoField = value; this.OnPropertyChanged("PrecoField"); }
        }

        private System.Int32 ContraParteField;
        /// <summary>
        /// Contra Parte
        /// </summary>
        public System.Int32 ContraParte
        {
            get { return ContraParteField; }
            set { ContraParteField = value; this.OnPropertyChanged("ContraParteField"); }
        }

        private TipoCasamento? TipoCasamentoField;
        /// <summary>
        /// Tipo Casamento 
        /// </summary>
        public TipoCasamento? TipoCasamento
        {
            get { return TipoCasamentoField; }
            set { TipoCasamentoField = value; this.OnPropertyChanged("TipoCasamentoField"); }
        }
        private TipoSituacaoCasamento? TipoSituacaoCasamentoField;
        /// <summary>
        /// Tipo Situacao Casamento
        /// </summary>
        public TipoSituacaoCasamento? TipoSituacaoCasamento
        {
            get { return TipoSituacaoCasamentoField; }
            set { TipoSituacaoCasamentoField = value; this.OnPropertyChanged("TipoSituacaoCasamentoField"); }
        }



        private System.Decimal QuantidadeCasadaField;
        /// <summary>
        /// Quantidade Casada
        /// </summary>
        public System.Decimal QuantidadeCasada
        {
            get { return QuantidadeCasadaField; }
            set { QuantidadeCasadaField = value; this.OnPropertyChanged("QuantidadeCasadaField"); }
        }

        private TipoEstrategia? TipoEstrategiaField;
        /// <summary>
        /// Tipo Estrategia
        /// </summary>
        public TipoEstrategia? TipoEstrategia
        {
            get { return TipoEstrategiaField; }
            set { TipoEstrategiaField = value; this.OnPropertyChanged("TipoEstrategiaField"); }
        }


        private System.Decimal? CambioField;
        /// <summary>
        /// Cambio
        /// </summary>
        public System.Decimal? Cambio
        {
            get { return CambioField; }
            set { CambioField = value; this.OnPropertyChanged("CambioField"); }
        }

        private System.Decimal VolumeField;
        /// <summary>
        /// Volume
        /// </summary>
        public System.Decimal Volume
        {
            get { return VolumeField; }
            set { VolumeField = value; this.OnPropertyChanged("VolumeField"); }
        }


        private System.Int32 NumeroOrdemSequenciaField;
        /// <summary>
        /// Numero Ordem Sequencia
        /// </summary>
        public System.Int32 NumeroOrdemSequencia
        {
            get { return NumeroOrdemSequenciaField; }
            set { NumeroOrdemSequenciaField = value; this.OnPropertyChanged("NumeroOrdemSequenciaField"); }
        }

        private bool? _indicadorDesprezaSaldo;
        /// <summary>
        /// Indicador Despreza Saldo
        /// </summary>
        public bool? IndicadorDesprezaSaldo
        {
            get { return _indicadorDesprezaSaldo; }
            set { _indicadorDesprezaSaldo = value; this.OnPropertyChanged("IndicadorDesprezaSaldo"); }
        }

    }
}


